home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 4
/
FM Towns Free Software Collection 4 - Disc 1.iso
/
fb386
/
pickup
/
peace_it.bas
< prev
next >
Wrap
BASIC Source File
|
1991-10-18
|
8KB
|
203 lines
1 KEY (1) ON :ON KEY (1) GOSUB 65010:PLAY OFF
10 '*******************************************************************
20 '* Peace in The Terror *
30 '* COMPOSED BY Kazuya Shimada *
40 '*******************************************************************
50 DEFINT A-Z
60 DIM T(4,9),D(47),V(23)
70 GOSUB *SCREEN : PLAY OFF:BGM 1:LOAD@ "Q:\FJ\PCM\RYM_ALL1.PMB":LOAD@ "Q:\FJ\FM\FM_1.FMB"
80 '----
90 GOSUB *READ_DATA
100 ' AF PAN PMS AMS
110 DATA 56, 0, 0, 0, 0, 0, 3, 0, 0, 0
120 ' AR DR SR RR SL TL KS ML DT e.guitar
130 DATA 31, 1, 1, 7, 4, 25, 0, 7, 0, 0
140 DATA 31, 2, 1, 6, 4, 30, 1, 4, 0, 0
150 DATA 31, 1, 2, 6, 1, 20, 0, 1, 0, 0
160 DATA 31, 1, 0, 6, 1, 9, 1, 2, 0, 0
170 GOSUB *VOICE_SET:VOICE 1,V,0
180 '----
190 GOSUB *READ_DATA
200 ' AF PAN PMS AMS
210 DATA 58, 0, 0, 0, 0, 0, 3, 0, 0, 0
220 ' AR DR SR RR SL TL KS ML DT チャリラリ(ぶんさんわおん)
230 DATA 31, 0, 0, 4, 0, 30, 1, 3, 0, 0
240 DATA 31, 0, 0, 7, 0, 35, 0, 2, 0, 0
250 DATA 31, 0, 0, 7, 0, 29, 0, 1, 3, 0
260 DATA 31, 0, 0, 7, 0, 10, 0, 2, 0, 0
270 GOSUB *VOICE_SET:VOICE 2,V,0
280 '----
290 GOSUB *READ_DATA
300 ' AF PAN PMS AMS
310 DATA 0, 0, 0, 0, 0, 0, 3, 0, 0, 0
320 ' AR DR SR RR SL TL KS ML DT e.bass
330 DATA 31, 15, 14, 9, 12, 47, 1, 8, 7, 0
340 DATA 31, 11, 12, 5, 5, 28, 1, 0, 0, 0
350 DATA 31, 8, 7, 5, 7, 28, 1, 1, 3, 0
360 DATA 31, 6, 5, 7, 3, 4, 1, 1, 3, 0
370 GOSUB *VOICE_SET:VOICE 3,V,0
380 '----
390 GOTO 580
400 *VOICE_SET
410 D%(32)=T%(0,0)
420 FOR I%=0 TO 3:J%=I%+1
430 D%( 8+I%)=(T%(J%,8) AND 7)*16+(T%(J%,7) AND 15)
440 D%(12+I%)=(T%(J%,5) AND 127)
450 D%(16+I%)=(T%(J%,6) AND 3)*64+(T%(J%,0) AND 31)
460 D%(20+I%)=T%(J%,1) AND 31
470 D%(24+I%)=T%(J%,2) AND 31
480 D%(28+I%)=(T%(J%,4) AND 15)*16+(T%(J%,3) AND 15)
490 NEXT
500 D%(33)=((T%(0,6) AND 3)*64)+((T%(0,7) AND 3)*16)+((T%(0,8) AND 7)):'D%(34)=0
510 FOR I%=0 TO 47 STEP 2:L&=D%(I%+1)*256+D%(I%)
520 IF L&<&H8000 THEN V%(I%\2)=CINT(L&) ELSE V%(I%\2)=CINT(L&-&H10000)
530 NEXT:RETURN
540 '----
550 *READ_DATA
560 FOR X=0 TO 4:FOR Y=0 TO 9:READ T%(X,Y):NEXT Y:NEXT X
570 RETURN
580 '
590 FOR I=1 TO 14:PART I,I:NEXT
600 T$="T146%CQ8U0"
610 A0A$="@108V9L8GGFG16G16B-16AG.F GGFG16G16B-16AG4&G16":A0$="O4"+A0A$
620 B0$="U80O3"+A0A$
630 C0$="@15Q8V9L16O5GAB->CDC<B-AGAB->CDC<B-A":C0$=C0$+C0$
640 D0$="V7L16O4(CGCG)4 (G>C<G>C<)4"
650 F0$="@3V10L16O2 (C8>CC<C8>CC<)4"
660 G0$="@1V15L4O1ARAR ARAR"
670 H0$="@1V15L4O2RERE RERE"
680 I0$="@1V15L16O5(AAAAAAAAAAAAAAAA)2"
690 A1A$="L16B-B-8AA8GG8AA8B-8A8 B-B-8AA8>CC8<B-B-8A8G8":A1$="O4"+A1A$
700 B1$="O3"+A1A$
710 C1$="O5(GGGGGGGG)4"
720 D1$="O4(D+B-D+B-D+B-D+B-)4"
730 F1$="O2(D+8>D+D+<D+8>D+D+<)4"
740 G1$="O1(ARAR)4"
750 H1$="O2(RERE)4"
760 I1$="O5(AAAAAAAAAAAAAAAA)4"
770 A2A$="AA8B-B-8A8&A2 >AA8B-B-8A8&A2":A2$="O4"+A2A$
780 B2$="O3"+A2A$
790 A3A$="AA8B-B-8A8&A2 >AA8B-B-8A4.&{AGFEDC<BA}4":A3$="O4"+A3A$
800 B3$="O3"+A3A$
810 H2$="O2RERE RER8E8L16FFEEL4"
820 A4$="V9L8O4C4.<GG.A.B- >C4C4<B-4A4 B-4.FF2 &F1"
830 C4$="@2V10L16O4(CEG>CEG>CEGEC<GEC<GE)2 (<B->DFB->DFB->DFD<B-FD<B-FD)2"
840 D4$="@1%RV11O2E1 &E1 D1 &D1"
850 E4$="@1%LU0V11O2G1 &G1 F1 &F1"
860 F4$="O3((C8>CC<)4)2 ((<B-8>B-B-)4)2"
870 A5$="O4C4.<GG.A.B- >C4C4<B-4A4 B-4.>FF2 &F1"
880 D5$="O2E1 &E1 Q7D4.D8Q8D2 &D1"
890 E5$="O2G1 &G1 Q7F4.F8Q8F2 &F1"
900 H3$="O2(RERE)3 RER8L16EEEEEEL4"
910 A6A$="V09L16B-B-8AA8GG8B-B-8A8G8 >CC8<B-B-8AA8>CC8<B-8A8":A6$="O4@1U-40"+A6A$
920 B6$="@1O3U40"+A6A$
930 C6$="@43V7L16O2(B->B-<B->B-<)4 >(C>C<C>C<)4"
940 D6$="O2D1 E-1 "
950 E6$="O2F1 G1"
960 F6$="O2(F8>FF<)4 (C8>CC<)4"
970 A7A$="C+C+8<B-B-8AA8>C+C+8<B-8A8 >DD8E-E-8D8&D2":A7$="O5"+A7A$
980 B7$="O4"+A7A$
990 C7$="O3(C+>C+<C+>C+<)4 (D>D<D>D<)4"
1000 D7$="O2E1 F+1"
1010 E7$="O2G+1 A1"
1020 F7$="O2(C+8>C+C+<)4 (D8>DD<)4"
1030 A8A$="C+C+8<B-B-8AA8>C+C+8<B-8A8 >DD8EE8F+F+8GG8A4U0":A8$="O5"+A8A$
1040 B8$="O4"+A8A$
1050 H4$="O2 RERE REL16GGFFFFEEL4"
1060 PLAY T$,T$,T$,T$,T$,T$,T$,T$,T$,T$,T$,T$,T$,T$
1070 PLAY A0$,B0$,C0$,"@103%R"+D0$,"@103%LU50"+D0$,F0$,G0$,H0$,I0$
1080 PLAY A0$,B0$,C0$,D0$,D0$,F0$,G0$,H0$,I0$
1090 PLAY A1$,B1$,C1$,D1$,D1$,F1$,G0$,H0$,I0$
1100 PLAY A2$,B2$,C1$,D1$,D1$,F1$,G0$,H0$,I0$
1110 PLAY A1$,B1$,C1$,D1$,D1$,F1$,G0$,H0$,I0$
1120 PLAY A3$,B3$,C1$,D1$,D1$,F1$,G0$,H2$,I0$
1130 PLAY A0$,B0$,C0$,D0$,D0$,F0$,G0$,H0$,I0$
1140 PLAY A0$,B0$,C0$,D0$,D0$,F0$,G0$,H0$,I0$
1150 PLAY A1$,B1$,C1$,D1$,D1$,F1$,G0$,H0$,I0$
1160 PLAY A2$,B2$,C1$,D1$,D1$,F1$,G0$,H0$,I0$
1170 PLAY A1$,B1$,C1$,D1$,D1$,F1$,G0$,H0$,I0$
1180 PLAY A2$,B2$,C1$,D1$,D1$,F1$,G0$,H2$,I0$
1190 PLAY "@21U-32"+A4$,"@21U32"+A4$,C4$,D4$,E4$,F4$,G1$,H1$,I1$
1200 PLAY A5$,A5$,C4$,D5$,E5$,F4$,G1$,H1$,I1$
1210 PLAY A4$,A4$,C4$,D4$,E4$,F4$,G1$,H1$,I1$
1220 PLAY A5$,A5$,C4$,D5$,E5$,F4$,G1$,H3$,I1$
1230 PLAY A6$,B6$,C6$,D6$,E6$,F6$,G0$,H0$,I0$
1240 PLAY A7$,B7$,C7$,D7$,E7$,F7$,G0$,H0$,I0$
1250 PLAY A6$,B6$,C6$,D6$,E6$,F6$,G0$,H0$,I0$
1260 PLAY A8$,B8$,C7$,D7$,E7$,F7$,G0$,H4$,I0$
1270 GOTO 1070
17000 *SCREEN
17010 SCREEN@ 0 : PALETTE@
17020 FOR I=0 TO 15 : PALETTE I,[0,0,0] : NEXT
17030 COLOR ,%5 : CLS
17040 X=630 : Y=30 : MX=2 : MY=3: R=3 : C1=1 : C2=5 : C3=15 : F=16
17050 ST$="PICK UP TOWNS" : GOSUB *STR_PUT
17060 X=575 : Y=30 : MX=2 : MY=3 : R=3 : C1=1 : C2=5 : C3=15 : F=16
17070 ST$="MUSIC PROGRAM" : GOSUB *STR_PUT
17080 GOSUB *F_IN : FOR I=0 TO 2000 : NEXT
17090 X1=10 : X2=510 : Y1=10 : Y2=460 : C1=1 : C2=6 : C3=15
17100 GOSUB *WAKU
17110 X1=20 : X2=500 : Y1=20 : Y2=90 : C1=15 : C2=7 : C3=5
17120 GOSUB *WAKU
17130 X1=20 : X2=500 : Y1=420 : Y2=450 : C1=15 : C2=7 : C3=5
17140 GOSUB *WAKU
17150 X1=20 : X2=500 : Y1=100 : Y2=410 : C1=15 : C2=7 : C3=5
17160 GOSUB *WAKU
17170 SYMBOL (30,430),"PF1キーを押すと、演奏を中断して音楽MENUに戻ります。",1,1,0,,,1
17180 SYMBOL (30,30)," TITLE ",1,1,0,0,PSET,17
17190 SYMBOL (80,53),"Peace in the Terror",1,2,0,0,PSET,1
17200 SYMBOL (30,110)," DATA ",1,1,0,0,PSET,17
17210 SYMBOL (80,140),"Programed by Kazuya Shimada",1,1,0,0,PSET,1,1
17220 SYMBOL (80,160)," Composed by Kazuya Shimada",1,1,0,0,PSET,1,1
17230 SYMBOL (30,200)," MESSAGE ",1,1,0,0,PSET,17
17240 'ST$()="・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・"
17250 ST$(0)=" 無限ループします。"
17260 ST$(1)=" 音色データは、FJのRYM_ALL1.PMBとFM_1.FMBを使用して"
17270 ST$(2)="います。"
17280 ST$(3)=""
17290 ST$(4)=""
17300 ST$(5)=""
17310 ST$(6)=""
17320 ST$(7)=""
17330 GOSUB *MESSAGE
17340 RETURN
17350 *STR_PUT
17360 SYMBOL (X,Y),ST$,MX,MY,%C1,R,PSET,F
17370 SYMBOL (X+1,Y),ST$,MX,MY,%C1,R,PSET,F
17380 SYMBOL (X+2,Y),ST$,MX,MY,%C1,R,PSET,F
17390 SYMBOL (X+2,Y-1),ST$,MX,MY,%C1,R,PSET,F
17400 SYMBOL (X+2,Y-2),ST$,MX,MY,%C1,R,PSET,F
17410 SYMBOL (X,Y-2),ST$,MX,MY,%C3,R,PSET,F
17420 SYMBOL (X+1,Y-2),ST$,MX,MY,%C3,R,PSET,F
17430 SYMBOL (X,Y-1),ST$,MX,MY,%C3,R,PSET,F
17440 SYMBOL (X+1,Y-1),ST$,MX,MY,%C2,R,PSET,F
17450 RETURN
17460 *WAKU
17470 LINE (X1+2,Y1+2)-(X2-2,Y2-2),PSET,%C2,BF
17480 CONNECT (X1,Y2)-(X1,Y1)-(X2,Y1),%C3
17490 CONNECT (X1+1,Y2-1)-(X1+1,Y1+1)-(X2-1,Y1+1),%C3
17500 CONNECT (X1+1,Y2)-(X2,Y2)-(X2,Y1+1),%C1
17510 CONNECT (X1+2,Y2-1)-(X2-1,Y2-1)-(X2-1,Y1+2),%C1
17520 RETURN
17530 *MESSAGE
17540 FOR I=0 TO 7
17550 SYMBOL (50,230+20*I),ST$(I),1,1,0,0,PSET,1
17560 NEXT I
17570 RETURN
17580 *F_OUT
17590 FOR I=16 TO 1 STEP -1 : GOSUB *PALETTE : NEXT I :COLOR ,%0: CLS: RETURN
17600 *F_IN
17610 FOR I=1 TO 16 : GOSUB *PALETTE : NEXT I : RETURN
17620 *PALETTE
17630 PALETTE 1,[0*I,0*I,1*I]
17640 PALETTE 2,[1*I,0*I,2*I]
17650 PALETTE 3,[2*I,1*I,3*I]
17660 PALETTE 4,[4*I,2*I,6*I]
17670 PALETTE 5,[8*I,6*I,9*I]
17680 PALETTE 6,[12*I,10*I,13*I]
17690 PALETTE 7,[14*I,13*I,15*I]
17700 PALETTE 15,[15*I,15*I,15*I]
17710 RETURN
65000 BGM 0:PLAY "R64":BGM 1
65010 KEY (1) OFF:PLAY OFF:FOR I=0 TO 13:PART I,I:NEXT:GOSUB *F_OUT : RUN"MENU.BAS"